home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / program / vol15n11.zip / REXBOX.ZIP / CDPOLL.CMD < prev    next >
OS/2 REXX Batch file  |  1995-08-08  |  2KB  |  69 lines

  1. /* MCI REXX Sample #2 */
  2. /* Sample REXX Script */
  3. /* this script shows you how to create a simple CD */
  4. /* player which plays a single track.              */
  5.  
  6. parse arg arg1
  7. If (arg1='') Then
  8.    do
  9.    say 'No track given, using the default of 4'
  10.    track = 4
  11.    End
  12. Else
  13.   Do
  14.   say 'Simple REXX CD Player'
  15.   track = arg1
  16.   End
  17.  
  18. TrackCmd = 'play cd from '
  19. TrackCmd = TrackCmd track
  20. StatusCmd = 'status cd length track '
  21. StatusCmd = StatusCmd track
  22. StatusCmd = StatusCmd ' wait'
  23.  
  24. address cmd     /* Send commands to OS/2 command processor.  */
  25. signal on error /* When commands fail, call "error" routine. */
  26.  
  27. rc = RXFUNCADD('mciRxInit','MCIAPI','mciRxInit')
  28. InitRC = mciRxInit()
  29.  
  30. /* Open the CD */
  31.  
  32. rc = mciRxSendString("open cdaudio alias cd wait", 'Retst', '0', '0')
  33. rc = mciRxSendString("status cd number of tracks wait", 'Retst', '0', '0')
  34. If track > Retst then
  35.     do
  36.       say 'CD only has ' Retst ' tracks'
  37.       mciRxSendString("close cd wait", 'Retst', '0', '0')
  38.       exit 1
  39.     End
  40. rc = mciRxSendString("set cd time format tmsf wait", 'Retst', '0', '0')
  41. rc = mciRxSendString(StatusCmd , 'Retst', '0', '0')
  42. say 'Playing track #' track ' which is ' Retst 'long'
  43. rc = mciRxSendString(TrackCmd, 'Retst', '0', '0')
  44. rc = mciRxSendString("status cd current track wait", 'Retst', '0', '0')
  45. do while RetSt < track + 1
  46.   rc = mciRxSendString("status cd current track wait", 'Retst', '0', '0')
  47. end
  48.  
  49. rc = mciRxSendString("close cd wait", 'Retst', '0', '0')
  50. say 'Finished Simple REXX CD Player'
  51. exit
  52.  
  53. error:
  54.    say 'Error' ErrRC 'at line' sigl ', sourceline:' sourceline(sigl)
  55.    say 'Terminating'
  56.    mciRxSendString("close cd wait", 'Retst', '0', '0')
  57.    mciRxExit()               /* Tell the DLL we're going away */
  58.    exit ErrRC                /* exit, tell caller things went poorly */
  59.  
  60. halt:
  61. /*
  62.  * Close all device alias's, in case we previously killed
  63.  * this batch file in the same process.
  64.  */
  65.    say 'Terminating'
  66.   mciRxSendString("close cd wait", 'Retst', '0', '0')
  67. exit
  68.  
  69.